package Definitions;
import java.util.ArrayList;


/*****************************************************************
* Name : Content
* Aim : This class aims to keep the data of each content in the contentList and this contentList 
* refers to the which content will be used with respect to contentType for the each node in the dataset 
* ArrayList <Content> contentList*
*****************************************************************/
public class ContentClass
{
	/*Id of the content which will differ with respect to related contentType*/
	int id;
	/*lenght of the related ContentType*/
	double length =0;
	
	/*The arraylist that will keep the y vector after CO.*/
	ArrayList<Double> labelRatiosOfContents;
	/*The label that will be assigned after CO.*/
	int ContentLabel;
	/*List of the attributes*/
	ArrayList <Double> attributeList;

	ArrayList <NodeClass> contentNeighborList;
	
	double contentSimilarityThresholdforContentNeighbors;
	
	
	public ArrayList<NodeClass> getContentNeighborList() {
		return contentNeighborList;
	}

	public void setContentNeighborList(ArrayList<NodeClass> contentNeighborList) {
		this.contentNeighborList = contentNeighborList;
	}

	public double getThreshold() {
		return contentSimilarityThresholdforContentNeighbors;
	}

	public void setThreshold(double threshold) {
		this.contentSimilarityThresholdforContentNeighbors = threshold;
	}

	public double getLength() {
		return length;
	}

	public void setLength(double length) {
		this.length = length;
	}

	public ArrayList<Double> getLabelRatiosOfContents() {
		return labelRatiosOfContents;
	}

	public void setLabelRatiosOfContents(ArrayList<Double> labelRatiosOfContents) {
		this.labelRatiosOfContents = labelRatiosOfContents;
	}

	public int getContentLabel() {
		return ContentLabel;
	}

	public void setContentLabel(int contentLabel) {
		ContentLabel = contentLabel;
	}
	

	/*Constructor of the class*/
	public ContentClass() 
	{
		// TODO Auto-generated constructor stub
		length=0;
		attributeList= new ArrayList <Double>();
		labelRatiosOfContents= new ArrayList<Double>();
		contentNeighborList =new ArrayList<NodeClass>();
	}
	
	public double getLenght() {
		return length;
	}

	public void setLenght(double lenght) {
		this.length = lenght;
	}

	public int getId() 
	{
		return id;
	}
	
	public void setId(int id)
	{
		this.id = id;
	}
	
	public ArrayList<Double> getAttributeList()
	{
		return attributeList;
	}

	public void setAttributeList(ArrayList<Double> attributeList) 
	{
		this.attributeList = attributeList;
	}
	
	 
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		
		return "id" +  this.attributeList.toString();
	}
	
	public void print()
	{
		System.out.println("id" + id  + "Atributes");
		for(int i=0; i< attributeList.size() ;i++)
		System.out.print(attributeList.get(i) + "  "); 
	}

	public void setLabelRatiosOfContents(int j, Double double1) {
		// TODO Auto-generated method stub
		
	}
}
